extern init
global _start
; '_start' is the entry of kernel!
_start:
	call	init

; Flush TLB. TODO: WBINVD
global flush_tlb
flush_tlb:
	mov	eax, cr3
	mov	cr3, eax
	ret

; Flush TLB entry.
global flush_tlb_entry
flush_tlb_entry:
	mov	eax, [esp + 4]
	invlpg	[eax]
	ret
